package com._58city.spark.app.mr;

import java.io.Serializable;
import java.util.List;

import org.apache.spark.streaming.api.java.JavaPairDStream;

/**
 * @author lihao
 * Spark拉取Kafka数据进行MR运算的接口
 * @param <K>
 * @param <V>
 */
public interface MrKafkaInterface<K, V> extends Serializable {
	
	    /**
	     * map方法
	     * @param kafkaStreams
	     * @return
	     */
	    public List<JavaPairDStream<K, V>> mapPair(List<JavaPairDStream<String, String>> kafkaStreams);	
	    
	    /**
	     * reduce方法
	     * @param mapStream
	     * @return
	     */
	    public JavaPairDStream<K, V> reducePair(JavaPairDStream<K, V> mapStream);
		
		/**
		 * 输出方法
		 * @param reduceStream
		 */
		public void foreachRDD(JavaPairDStream<K, V> reduceStream);
		
}
